
#	http://www.adahome.com/rm95
#
#	Strings:
#	- An end of line cannot appear in a string_literal. 
#	- The sequence of characters of a string_literal is formed from the sequence of string_elements between the bracketing quotation
#	  marks, in the given order, with a string_element that is "" becoming a single quotation mark in the sequence of characters, and any
#	  other string_element being reproduced in the sequence. 
#	- Examples:
#	   "Message of the day:"
#
#		""                           --  a null string literal
#		" "   "A"   """"             --  three string literals of length 1
#
#		"Characters such as $, %, and } are allowed in string literals"    
#	Comments:
#	- A comment starts with two adjacent hyphens and extends
#	  up to the end of the line. 
#	- Examples:
#		--  the last sentence above echoes the Algol 68 report
#
#		end;  --  processing of Line is complete
#
#		--  a long comment may be split onto
#		--  two or more consecutive lines
#
#		----------------  the first two hyphens start the comment
#
#	Character Literals
#	- A character_literal is formed by enclosing a graphic character 
#	  between two apostrophe characters. 
#	- Examples:
#		'A'     '*'     '''     ' '

from SyntaxDesc import *
import Register
def Syntax():
	return SyntaxDesc(
		Words(gStyleStructKeyword,
			"abort",
			"abs",
			"accept",
			"access",
			"all",
			"and",
			"array",
			"at",
			"begin",
			"body",
			"case",
			"constant",
			"declare",
			"delay",
			"delta",
			"digits",
			"do",
			"else",
			"elsif",
			"end",
			"entry",
			"exception",
			"exit",
			"for",
			"function",
			"generic",
			"goto",
			"if",
			"in",
			"is",
			"limited",
			"loop",
			"mod",
			"new",
			"not",
			"of",
			"or",
			"others",
			"out",
			"package",
			"pragma",
			"private",
			"procedure",
			"raise",
			"range",
			"record",
			"rem",
			"renames",
			"return",
			"reverse",
			"select",
			"separate",
			"subtype",
			"task",
			"terminate",
			"then",
			"type",
			"use",
			"when",
			"while",
			"with",
			"xor"
		),
		Regex(gStyleString,
			'\("[^\n"]*"\|\'.\'\)'
		),
		IfCommentHighlight(Regex(gStyleComment,'--.*')),
	)

Register.RegisterSyntax(Syntax,"Ada9X","Ada","Ada Specification")
